﻿using System;
using System.IO;
//using iTextSharp.text;
//using iTextSharp.text.pdf;
using Eagle.Common;
using System.Drawing;
using System.Data;

namespace Eagle.Module.Office
{
    /// <summary>
    /// PDF操作类
    /// </summary>
    public class PDF
    {
    //    public static void Create(string value,string filePath)
    //    {
    //        //Document:（文档）生成pdf必备的一个对象,生成一个Document示例
    //        Document document = new Document(PageSize.A4, 30, 30, 5, 5);
    //        //为该Document创建一个Writer实例： 
    //        PdfWriter.GetInstance(document, new FileStream(filePath, FileMode.Create));
    //        //打开当前Document
    //        document.Open();
    //        //为当前Document添加内容：
    //        document.Add(new Paragraph("Hello World"));
    //        //另起一行。有几种办法建立一个段落，如： 
    //        Paragraph p1 = new Paragraph(new Chunk("This is my first paragraph.\n", FontFactory.GetFont(FontFactory.HELVETICA, 12)));
    //        Paragraph p2 = new Paragraph(new Phrase("This is my second paragraph.", FontFactory.GetFont(FontFactory.HELVETICA, 12)));
    //        Paragraph p3 = new Paragraph("This is my third paragraph.", FontFactory.GetFont(FontFactory.HELVETICA, 12));
    //        //所有有些对象将被添加到段落中：
    //        p1.Add("you can add string here\n\t");
    //        p1.Add(new Chunk("you can add chunks \n")); p1.Add(new Phrase("or you can add phrases.\n"));
    //        document.Add(p1); document.Add(p2); document.Add(p3);

    //        //创建了一个内容为“hello World”、红色、斜体、COURIER字体、尺寸20的一个块： 
    //        Chunk chunk = new Chunk("Hello world", FontFactory.GetFont(FontFactory.COURIER, 20, iTextSharp.text.Font.COURIER, new iTextSharp.text.Color(255, 0, 0)));
    //        document.Add(chunk);
    //        //如果你希望一些块有下划线或删除线，你可以通过改变字体风格简单做到： 
    //        Chunk chunk1 = new Chunk("This text is underlined", FontFactory.GetFont(FontFactory.HELVETICA, 12, iTextSharp.text.Font.UNDEFINED));
    //        Chunk chunk2 = new Chunk("This font is of type ITALIC | STRIKETHRU", FontFactory.GetFont(FontFactory.HELVETICA, 12, iTextSharp.text.Font.ITALIC | iTextSharp.text.Font.STRIKETHRU));
    //        //改变块的背景
    //        chunk2.SetBackground(new iTextSharp.text.Color(0xFF, 0xFF, 0x00));
    //        //上标/下标
    //        chunk1.SetTextRise(5);
    //        document.Add(chunk1);
    //        document.Add(chunk2);

    //        //外部链接示例： 
    //        Anchor anchor = new Anchor("website", FontFactory.GetFont(FontFactory.HELVETICA, 12, iTextSharp.text.Font.UNDEFINED, new iTextSharp.text.Color(0, 0, 255)));
    //        anchor.Reference = "http://itextsharp.sourceforge.net/";
    //        anchor.Name = "website";
    //        //内部链接示例： 
    //        Anchor anchor1 = new Anchor("This is an internal link\n\n");
    //        anchor1.Name = "link1";
    //        Anchor anchor2 = new Anchor("Click here to jump to the internal link\n\f");
    //        anchor2.Reference = "#link1";
    //        document.Add(anchor); document.Add(anchor1); document.Add(anchor2);

    //        //排序列表示例： 
    //        List list = new List(true, 20);
    //        list.Add(new ListItem("First line"));
    //        list.Add(new ListItem("The second line is longer to see what happens once the end of the line is reached. Will it start on a new line?"));
    //        list.Add(new ListItem("Third line"));
    //        document.Add(list);

    //        //文本注释： 
    //        Annotation a = new Annotation("authors", "Maybe its because I wanted to be an author myself that I wrote iText.");
    //        document.Add(a);

    //        //包含页码没有任何边框的页脚。 
    //        HeaderFooter footer = new HeaderFooter(new Phrase("This is page: "), true);
    //        footer.Border = iTextSharp.text.Rectangle.NO_BORDER;
    //        document.Footer = footer;


    //        //Chapter对象和Section对象自动构建一个树：
    //        iTextSharp.text.Font f1 = new iTextSharp.text.Font();
    //        f1.SetStyle(iTextSharp.text.Font.BOLD);
    //        Paragraph cTitle = new Paragraph("This is chapter 1", f1);
    //        Chapter chapter = new Chapter(cTitle, 1);
    //        Paragraph sTitle = new Paragraph("This is section 1 in chapter 1", f1);
    //        Section section = chapter.AddSection(sTitle, 1);
    //        document.Add(chapter);

    //        //构建了一个简单的表： 
    //        Table aTable = new Table(4, 4);
    //        aTable.AutoFillEmptyCells = true;
    //        aTable.AddCell("2.2", new Point(2, 2));
    //        aTable.AddCell("3.3", new Point(3, 3));
    //        aTable.AddCell("2.1", new Point(2, 1));
    //        aTable.AddCell("1.3", new Point(1, 3));
    //        document.Add(aTable);
    //        //构建了一个不简单的表：
    //        Table table = new Table(3);
    //        table.BorderWidth = 1;
    //        table.BorderColor = new iTextSharp.text.Color(0, 0, 255);
    //        table.Cellpadding = 5;
    //        table.Cellspacing = 5;
    //        Cell cell = new Cell("header");
    //        cell.Header = true;
    //        cell.Colspan = 3;
    //        table.AddCell(cell);
    //        cell = new Cell("example cell with colspan 1 and rowspan 2");
    //        cell.Rowspan = 2;
    //        cell.BorderColor = new iTextSharp.text.Color(255, 0, 0);
    //        table.AddCell(cell);
    //        table.AddCell("1.1");
    //        table.AddCell("2.1");
    //        table.AddCell("1.2");
    //        table.AddCell("2.2");
    //        table.AddCell("cell test1");
    //        cell = new Cell("big cell");
    //        cell.Rowspan = 2;
    //        cell.Colspan = 2;
    //        cell.BackgroundColor = new iTextSharp.text.Color(0xC0, 0xC0, 0xC0);
    //        table.AddCell(cell);
    //        table.AddCell("cell test2");
    //        // 改变了单元格“big cell”的对齐方式： 
    //        cell.HorizontalAlignment = Element.ALIGN_CENTER;
    //        cell.VerticalAlignment = Element.ALIGN_MIDDLE;
    //        document.Add(table);

    //        //关闭Document
    //        document.Close();


    //        //Document doc = new Document(new Rectangle(PageSize.A4));
    //        //PdfWriter pdfwriter = PdfWriter.GetInstance(doc, new FileStream(filePath,FileMode.Create));
    //        //doc.Open();
    //        //Phrase phrase = new Phrase("mu");
    //        //Paragraph p = new Paragraph("dfdfdsfsfsf");
    //        //iTextSharp.text.rtf.
    //        //p.Add(phrase);
    //        //doc.Add(p);

    //        //doc.Close();
    //    }

    //    public static string ReadPdf(string filePath,int pagenumber)
    //    {
    //        PdfReader pdfreader = new PdfReader(filePath);
    //        string a =Utils.HtmlEncode(System.Text.Encoding.UTF8.GetString(pdfreader.GetPageContent(pagenumber)));
    //        return a??"";
    //    }

    //    #region 创建数据库文档
    //    //public static bool CreateDatabaseDocument(DataTable tableData,DataTable columnData, string[] columnNames, string filePath)
    //    //{
    //    //    Document doc = new Document(PageSize.A4, 30, 30, 10, 10);
    //    //    PdfWriter writer= PdfWriter.GetInstance(doc, new FileStream(filePath, FileMode.Create));
    //    //    int columnsCount = columnNames.Length;
    //    //    Table table = new Table(columnsCount);
    //    //    foreach (DataRow dr in tableData.Rows)
    //    //    { 
    //    //    string table
    //    //    }
    //    //}
    //    #endregion
    }
}
